The present invention relates generally to radio link control protocols for wireless communication networks and, more particularly, to methods and apparatus for segmentation and reassembly of higher layer data packets to improve robustness to packet loss.
Radio link control (RLC) is a protocol used in wireless communication networks to reduce the error rate over wireless channels. RLC divides higher layer packets, into smaller units called RLC data blocks for transmission over the wireless communication channel. Depending on the RLC operating mode, a retransmission protocol may be used to ensure delivery of each RLC data block. If an RLC data blocks is missed at the receiver, the receiver can request retransmission of the missing RLC data blocks. The higher layer packets reassembled from the received RLC data blocks at the receiver.
The RLC protocol has three main modes of operation: acknowledged mode (AM), unacknowledged mode (UM), and non-persistent mode (NPM). In AM, RLC uses a retransmission protocol to ensure delivery of all RLC data blocks. If an RLC data block is missed at the receiving terminal, the receiving terminal can request retransmission of the missing RLC data block. In UM, there is no retransmission and RLC ignores any missing packets. In NPM, RLC also uses a retransmission protocol to request retransmission of missing RLC data blocks. NPM differs from AM in that retransmissions for the same RLC data block are limited to a predetermined time period following the first transmission. NPM is useful, for example, for transmission of VoIP packets and other situations where packet latency is a concern.
In RLC, length indicators are used to indicate the ends of higher layer packets. More specifically, when the RLC data block contains the final segment of a higher layer packet, a length indicator is added to the RLC data block to indicate that it contains the last segment of a higher layer data packet and the length of the final segment. The loss of an RLC data block containing one of these length indicators may cause the RLC layer to reassemble the higher layer packets incorrectly, which may cause greater data loss at the higher layer. This effect is referred to herein as error propagation. Error propagation results in some higher layer packets being retransmitted and/or discarded even though the higher layer packets were correctly received. Therefore, there is a need for improvements in RLC protocols to prevent error propagation to higher layer protocols and thereby increase robustness to RLC packet loss.